var sinon = {
  "wrapMethod": function () {},
  "create": function () {},
  "deepEqual": function () {},
  "functionName": function () {},
  "functionToString": function () {},
  "objectKeys": function () {},
  "getPropertyDescriptor": function () {},
  "getConfig": function () {},
  "defaultConfig": {},
  "timesInWords": function () {},
  "calledInOrder": function () {},
  "orderByFirstCall": function () {},
  "createStubInstance": function () {},
  "restore": function () {},
  "extend": function () {},
  "typeOf": function () {},
  "match": {
    "isMatcher": function () {},
    "any": {},
    "defined": {},
    "truthy": {},
    "falsy": {},
    "same": function () {},
    "typeOf": function () {},
    "instanceOf": function () {},
    "has": function () {},
    "hasOwn": function () {},
    "bool": {},
    "number": {},
    "string": {},
    "object": {},
    "func": {},
    "array": {},
    "regexp": {},
    "date": {}
  },
  "format": function () {},
  "spyCall": {
    "toString": function () {}
  },
  "spy": {
    "reset": function () {},
    "create": function () {},
    "invoke": function () {},
    "named": function () {},
    "getCall": function () {},
    "getCalls": function () {},
    "calledBefore": function () {},
    "calledAfter": function () {},
    "withArgs": function () {},
    "matches": function () {},
    "printf": function () {},
    "calledOn": function () {},
    "alwaysCalledOn": function () {},
    "calledWith": function () {},
    "calledWithMatch": function () {},
    "alwaysCalledWith": function () {},
    "alwaysCalledWithMatch": function () {},
    "calledWithExactly": function () {},
    "alwaysCalledWithExactly": function () {},
    "neverCalledWith": function () {},
    "neverCalledWithMatch": function () {},
    "threw": function () {},
    "alwaysThrew": function () {},
    "returned": function () {},
    "alwaysReturned": function () {},
    "calledWithNew": function () {},
    "alwaysCalledWithNew": function () {},
    "callArg": function () {},
    "callArgWith": function () {},
    "callArgOn": function () {},
    "callArgOnWith": function () {},
    "yield": function () {},
    "invokeCallback": function () {},
    "yieldOn": function () {},
    "yieldTo": function () {},
    "yieldToOn": function () {},
    "formatters": {},
    "spyCall": {
      "toString": function () {}
    }
  },
  "behavior": {},
  "walk": function () {},
  "stub": {
    "create": function () {},
    "resetBehavior": function () {},
    "onCall": function () {},
    "onFirstCall": function () {},
    "onSecondCall": function () {},
    "onThirdCall": function () {},
    "isPresent": function () {},
    "callsArg": function () {},
    "callsArgOn": function () {},
    "callsArgWith": function () {},
    "callsArgOnWith": function () {},
    "yields": function () {},
    "yieldsRight": function () {},
    "yieldsOn": function () {},
    "yieldsTo": function () {},
    "yieldsToOn": function () {},
    "throws": function () {},
    "throwsException": function () {},
    "returns": function () {},
    "returnsArg": function () {},
    "returnsThis": function () {},
    "callsArgAsync": function () {},
    "callsArgOnAsync": function () {},
    "callsArgWithAsync": function () {},
    "callsArgOnWithAsync": function () {},
    "yieldsAsync": function () {},
    "yieldsRightAsync": function () {},
    "yieldsOnAsync": function () {},
    "yieldsToAsync": function () {},
    "yieldsToOnAsync": function () {}
  },
  "expectation": {},
  "mock": {
    "create": function () {},
    "expects": function () {},
    "restore": function () {},
    "verify": function () {},
    "invokeMethod": function () {}
  },
  "collection": {},
  "useFakeTimers": function () {},
  "clock": {},
  "timers": {},
  "Event": function () {},
  "ProgressEvent": function () {},
  "CustomEvent": function () {},
  "EventTarget": {},
  "log": function () {},
  "logError": {
    "useImmediateExceptions": {},
    "setTimeout": function () {}
  },
  "xdr": {},
  "useFakeXDomainRequest": function () {},
  "FakeXDomainRequest": {
    "UNSENT": {},
    "OPENED": {},
    "LOADING": {},
    "DONE": {}
  },
  "xhr": {},
  "useFakeXMLHttpRequest": function () {},
  "FakeXMLHttpRequest": {
    "filters": {},
    "addFilter": function () {},
    "defake": function () {},
    "useFilters": {},
    "parseXML": function () {},
    "statusCodes": {},
    "UNSENT": {},
    "OPENED": {},
    "HEADERS_RECEIVED": {},
    "LOADING": {},
    "DONE": {}
  },
  "fakeServer": {},
  "fakeServerWithClock": {},
  "sandbox": {},
  "test": {
    "config": {}
  },
  "testCase": function () {},
  "assert": {}
};
sinon.Event.prototype = {
  "initEvent": function () {},
  "stopPropagation": function () {},
  "preventDefault": function () {}
};
sinon.ProgressEvent.prototype = {
  "type": function () {},
  "bubbles": function () {},
  "cancelable": function () {},
  "target": function () {},
  "constructor": function () {},
  "initEvent": function () {},
  "stopPropagation": function () {},
  "preventDefault": function () {}
};
sinon.CustomEvent.prototype = {
  "type": function () {},
  "bubbles": function () {},
  "cancelable": function () {},
  "target": function () {},
  "constructor": function () {},
  "initEvent": function () {},
  "stopPropagation": function () {},
  "preventDefault": function () {}
};
sinon.FakeXDomainRequest.prototype = {
  "addEventListener": function () {},
  "removeEventListener": function () {},
  "dispatchEvent": function () {},
  "open": function () {},
  "readyStateChange": function () {},
  "send": function () {},
  "abort": function () {},
  "setResponseBody": function () {},
  "respond": function () {},
  "simulatetimeout": function () {}
};
sinon.FakeXMLHttpRequest.prototype = {
  "addEventListener": function () {},
  "removeEventListener": function () {},
  "dispatchEvent": function () {},
  "async": function () {},
  "open": function () {},
  "readyStateChange": function () {},
  "setRequestHeader": function () {},
  "setResponseHeaders": function () {},
  "send": function () {},
  "abort": function () {},
  "getResponseHeader": function () {},
  "getAllResponseHeaders": function () {},
  "setResponseBody": function () {},
  "respond": function () {},
  "uploadProgress": function () {},
  "downloadProgress": function () {},
  "uploadError": function () {}
};
